package bd;




import java.sql.*;

public class Conexao
{
 private Connection conn;
 private boolean seConectou;
 private String classeDriver,
 		urlBanco,
 		login,
 		senha;

 public Conexao()
 {
  conn = null;
  seConectou = false;
  classeDriver = "";
  urlBanco = "";
  login = "";
  senha = "";
 }

 public void conectar (String classeDriver, String urlBanco,
                       String login,        String senha)
 {
  this.classeDriver = classeDriver;
  this.urlBanco = urlBanco;
  this.login = login;
  this.senha = senha;
  try
  {
   Class.forName(classeDriver);
   conn = DriverManager.getConnection (urlBanco, login, senha);
   seConectou = true;
   System.out.println("A conexão foi um sucesso\n");
  }
  catch(ClassNotFoundException e)
  {
   seConectou = false;
   System.out.println("Classe(s) não encontrada(s): ");
   e.printStackTrace();
  }
  catch(Exception e)
  {
   seConectou = false;
   System.out.println("Falha na conexão com o BD");
   e.printStackTrace();
  }
 }

 //se desconecta do BD
 public void desconectar()
 {
  try
  {
   seConectou = false;
   conn.close();
  }
  catch(Exception e1)
  {
   System.out.println("ERRO: ao desconectar do BD");
   e1.printStackTrace();
  }
 }

 //testa se está conectado ou não ao BD
 public boolean estaConectado()
 {
  return seConectou;
 }

 //método de consulta (Seleção)
 public ResultSet consulta(String strSql)
 {
  try
  {
   //criando o objeto Statement para que seja possivel enviar as consultas
   Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
   //objeto do ResulSet para receber o resultado da consulta
   ResultSet rs = stmt.executeQuery(strSql);
   return rs;
  }
  catch(SQLException erro)
  {
   System.err.println(erro.getMessage());
   return null;
  }
 }

 //método de TRATAMENTO DE DADOS (inserção, exclusão, alteração)
 public String tratDados(String strSql)
 {
  try
  {
   //criando o objeto Statement para que seja possivel enviar as consultas
   Statement stmt = conn.createStatement();
   //executar sql
   stmt.execute(strSql);
  }
  catch(SQLException erro)
  {
   System.err.println(erro.getMessage());
   return "Erro!";
  }
  return "Sucesso!";
 }

}